The present disclosure relates to a demodulation table, a device and a method for demodulation, a program, and a recording medium, and particularly to a demodulation table, a device and a method for demodulation, a program, and a recording medium that further reduce successive occurrences of a minimum run.
When data is to be transmitted to a predetermined transmission line or to be recorded onto a recording medium such for example as a magnetic disk, an optical disk, or a magneto-optical disk, the data is modulated to become suitable for the transmission line or the recording medium. Known as one of methods of such modulation is a block code. The block code blocks a data string into units (hereinafter referred to as data words) each including m×i bits, and converts the data words to codewords each including n ×i bits according to an appropriate code rule. When i=1, this code is fixed length code. When a plurality of values can be selected for i, that is, a predetermined i in a range of one to i max (a maximum of i), and then conversion is performed, the code is variable length code. The block-coded code is expressed as variable length code (d, k; m, n; r).
In this code, i is referred to as a constraint length, and i max is r (maximum constraint length). d denotes for example a minimum number of consecutive “0”s inserted between successive “1”s, that is, a minimum run of “0”s. k denotes for example a maximum number of consecutive “0”s inserted between successive “1”s, that is, a maximum run of “0”s.
When codewords obtained as described above are to be recorded onto an optical disk, a magneto-optical disk or the like, in the case of a compact disk (CD) or a Mini-Disc (MD) (registered trademark), for example, a variable length code string is subjected to NRZI (Non Return to Zero Inverted) modulation, in which inversion is performed for “1” and inversion is not performed for “0”, and recording is performed on the basis of the NRZI-modulated variable length code (hereinafter referred to as a recording waveform string). This recording is referred to as mark edge recording. On the other hand, in the case of an ISO-standard 3.5-inch magneto-optical disk with a capacity of 230 MB or the like, a code string resulting from recording modulation is recorded as it is without being subjected to NRZI modulation. This recording is referred to as mark position recording. The mark edge recording is often used for current recording media, which have been increased in recording density.
Letting Tmin be a minimum inversion interval of the recording waveform string and Tmax be a maximum inversion interval of the recording waveform string, a longer minimum inversion interval Tmin, or a larger minimum run d is preferred for high recording density in a linear velocity direction. From a viewpoint of clock reproduction, a shorter maximum inversion interval Tmax, or a smaller maximum run k is preferable. When overwriting characteristics are considered, it is preferable that Tmax/Tmin be smaller. Further, it is important from a viewpoint of jitter and S/N that a detection window width Tw=m/n be large, for example. Thus, various modulating methods have been proposed in light of conditions of media, and put to practical use.
Specific modulating systems proposed or actually used for optical disks, magnetic disks, magneto-optical disks, and the like are as follows. An EFM code (also denoted as (2, 10; 8, 17; 1)) used for CDs and MDs, an 8-16 code (also denoted as (2, 10; 1, 2; 1)) used for DVDs, and RLL(2, 7) (also denoted as (2, 7; m, n; r)) used for PDs (120 mm and a capacity of 650 MB) are RLL codes with a minimum run d=2. RLL(1, 7) (also denoted as (1, 7; 2, 3; r)) used for MD-DATA2 or an ISO-standard 3.5-inch MO (a capacity of 640 MB) is an RLL code with a minimum run d=1. In addition, recording and reproduction disk devices for optical disks, magneto-optical disks and the like having high recording densities, which are currently being developed and studied, often use an RLL code (Run Length Limited code) with a minimum run length d=1, in which the size of a smallest mark and conversion efficiency are balanced.
The following table, for example, is known as a conversion table of the variable length RLL (1, 7) code.
TABLE 1RLL(1, 7): (d, k; m, n; r) = (1, 7; 2, 3; 2)Data PatternCode Patterni = 11100x100100110xi = 20011000 00x0010000 0100001100 00x0000100 010
A symbol x in the conversion table is “1” when a following channel bit id “0”, and is “0” when the following channel bit is “1”. The maximum constraint length r is two.
Parameters of varable length RLL (1, 7) are (1, 7; 2, 3; 2). Letting T be a bit interval of the recording waveform string, the minimum inversion interval Tmin expressed by (d+1)T is 2 (=1+1) T. Letting Tdata be a bit interval of the data string, the minimum inversion interval Tmin expressed by (m/n)×2 is 1.33 (=(2/3)×2) Tdata. The maximum inversion interval Tmax expressed by (k+1)T is Tmax=8 (=7+1) T (=m/n)×8 Tdata=(2/3)×8 Tdata=5.33 Tdata). The detection window width Tw is expressed by (m/n)×Tdata. The value of the detection window width Tw is Tw=0.67 (=2/3) Tdata.
In a channel bit string resulting from modulation in accordance with the RLL (1, 7) of table 1, 2T, which is Tmin, occurs most frequently, and the frequencies of occurrences of 3T, 4T, 5T, 6T . . . are decreased in that order. Repetition of 2T as the minimum run, that is, frequent occurrence of edge information in short cycles is often advantageous for clock reproduction.
However, in recording and reproduction of an optical disk, for example, as recording linear density is further increased, an error tends to occur at parts of the minimum run. This is because in disk reproduction, a waveform output of the minimum run is smaller than waveform outputs of other runs and is thus easily affected by for example a defocus and a tangential tilt. In addition, recording and reproduction of successive minimum marks at a high recording linear density is easily affected by disturbances such as noise and the like. Thus, a data reproduction error tends to occur. As a pattern of the data reproduction error at this time, an error in which an entire length of successive smallest marks from a first edge to a last edge is shifted can occur. That is, the length of a bit error that occurs extends from a start to an end of the section of the successive smallest marks. Therefore a problem of a long error propagation occurs.
Thus, for stable recording and reproducing of data at a high recording linear density, limiting successive occurrences of the minimum run is effective.
When data is to be recorded onto a recording medium or the data is to be transmitted, coding modulation suitable for the recording medium or a transmission line is performed. When modulation codes include a low-frequency component, for example, variations in various error signals for a tracking error and the like in servo control of the disk device tend to occur, or jitter tends to occur. It is therefore desirable to suppress the low-frequency component of the modulation codes as much as possible.
As a method for suppressing the low-frequency component, there is DSV (Digital Sum Value) control. When a channel bit string is subjected to NRZI modulation (that is, level coding) to be converted into a recording code string, and codes are added up with “1” in the bit string (data symbols) taken as +1 and “0” in the bit string taken as −1, DSV represents a total sum of the added-up codes. The DSV serves as an indicator of the low-frequency component of the recording code string. Decreasing the absolute values of positive and negative fluctuations in the DSV, that is, performing DSV control eliminates a direct-current component of the recording code string and suppresses the low-frequency component.
DSV control is not applied to modulation codes generated according to the variable length RLL (1, 7) table shown as Table 1. DSV control in such a case is achieved by performing a DSV calculation at predetermined intervals in a coded string (channel bit string) after modulation and inserting predetermined DSV control bits in the coded string (channel bit string) (Patent Document 1, for example).
The number of DSV control bits to be inserted in the channel bit string is determined by the minimum run d. When d=1, and when DSV control bits are to be inserted at an arbitrary position of codewords in such a manner as to keep the minimum run, two (=d+1) channel bits are necessary. When DSV control bits are to be inserted at an arbitrary position of codewords in such a manner as to keep the maximum run, four (=2×(d+1)) channel bits are necessary. When DSV control is to be performed with fewer channel bits than these channel bits, DSV control may not be achieved, depending on a preceding pattern and a succeeding pattern between which the channel bits are interposed.
In the RLL(1, 7) code with (d, k; m, n)=(1, 7; 2, 3), when the above DSV control bits are converted into data with the conversion rate,
4 channel bits×2/3=8/3= about 2.67 data pieces (2.67 Tdata)
The DSV control bits are basically redundant bits. Thus, from a viewpoint of efficiency of code conversion, it is desirable to reduce the number of DSV control bits as much as possible.
Further, it is desirable not to allow the minimum run d and the maximum run k to be changed by inserted DSV control bits. This is because a change in (d, k) affects recording and reproduction characteristics.
In an actual RLL code, however, the minimum run must be kept because the minimum run greatly affects recording and reproduction characteristics, but the maximum run is not necessarily kept. In some cases, there is a format in which a pattern that breaks the maximum run is used as a synchronizing signal. For example, while a maximum run in the 8-16 code of DVD (Digital Versatile Disk) is 11 T, 14 T exceeding the maximum run is given in a part of a synchronizing pattern to enhance a capability of detecting the synchronizing signal.
On the basis of the above, the present inventors have previously proposed a 1,7PP code of Table 2 as a modulation system with (d, k)=(1, 7) which system is ready for high recording densities (see Japanese Patent Laid-Open No. Hei 11-346154).
TABLE 21,7PP: (d, k; m, n; r) = (1, 7; 2, 3; 4)Data PatternCode Pattern11*0*10001010100011010 1000010010 0000001000 100000011000 100 100000010000 100 000000001010 100 100000000010 100 000110111001 000 000 (next 010)00001000000 100 100 10000000000010 100 100 100if xx1 then *0* = 000xx0 then *0* = 101
The conversion table of Table 2 includes, as conversion patterns, basic patterns without which conversion processing cannot be carried out (data patterns (11) to (000000)), substitution patterns without which conversion processing can be carried out, but with which more effective conversion processing can be carried out (data patterns (110111), (00001000), and (00000000)), and terminating patterns for terminating a data string at an arbitrary position (data patterns (00) and (0000)).
In addition, Table 2 includes an indeterminate code (*) as an element of a basic pattern, with a minimum run d=1 and a maximum run k=7. The indeterminate code * is set to “0” or “1” so as to keep the minimum run d and the maximum run k regardless of an immediately preceding codeword and an immediately succeeding codeword. Specifically, in Table 2, when two-piece data to be converted is (11), “000” or “101” is selected depending on an immediately preceding codeword string (channel bit string), and the data to be converted is converted to one of the code patterns “000” and “101”. For example, when one channel bit of the immediately preceding codeword string is “1”, the two-piece data (11) is converted to the codeword “000” to keep the minimum run d. When one channel bit of the immediately preceding codeword string is “0”, the two-piece (11) is converted to the codeword “101” to keep the maximum run k.
The basic patterns of the conversion table of Table 2 have a variable length structure. That is, the number of basic patterns at a constraint length i=1 is three (the three patterns *0*, 001, and 010), which is smaller than a required number of four (=2^m=2^2=4). As a result, in converting data strings, there are data strings that cannot be converted with only a constraint length i=1. After all, in order to convert all data strings in Table 2 (to complete Table 2 as a conversion table), it is necessary to refer to basic patterns up to a constraint length i=3.
In addition, the conversion table of Table 2 has a substitution pattern for limiting successive occurrences of the minimum run d. Thus, when a data string is (110111), a succeeding code string is further referred to, and when the succeeding code string is “010”, the six-piece data is replaced with the codeword “001 000 000”. When the succeeding code string is other than “010”, the data string is converted as units of two-piece data ((11), (01), and (11)) into a codeword, and hence converted into a codeword “*0*010 *0*”. Thus, successive occurrences of the minimum run in a codeword string resulting from conversion of data are limited, and the minimum run is repeated six times at a maximum.
The conversion table of Table 2 has a maximum constraint length r=4. Conversion patterns with a constraint length i=4 are formed by substitution patterns (maximum run guaranteeing patterns) for realizing the maximum run k=7. Specifically, the data pattern (00001000) is converted to the code pattern “000 100 100 100”, and the data pattern (00000000) is converted to the code pattern “010 100 100 100”. Also in this case, the minimum run d=1 is kept.
Further, in Table 2, when termination is effected at an arbitrary position of a data string to insert a synchronizing pattern, and when the data string has (00) or (0000) at a terminating position, a termination pattern is used. The inserted synchronizing pattern has a first codeword as a termination pattern use identifying bit. When a termination pattern is used, the first codeword of the immediately succeeding substitution pattern string is “1”. When no termination pattern is used, the first codeword is “0”. Incidentally, the synchronizing pattern in Table 2 is formed by a total of 24 codewords including the above-mentioned termination pattern use identifying bit and two repetitive codewords with k=8 exceeding the maximum run k =7 for detection of the synchronizing pattern.
The conversion patterns in Table 2 have a conversion rule that a remainder when the number of “1”s of elements of a data pattern is divided by two and a remainder when the number of “1”s of elements of a code pattern is divided by two be both 1 or 0 and thus equal to each other (both elements corresponding to each other have an odd number of “1”s or an even number of “1”s). For example, the data pattern (000001) of the conversion patterns corresponds to the code pattern “010 100 100”. The number of “1”s of the elements of the data pattern is one, and the number of “1”s of the elements of the corresponding code pattern is three. A remainder when the number of “1”s as an element of the data pattern is divided by two and a remainder when the number of “1”s as an element of the code pattern is divided by two are both one (an odd number) and thus match each other. Similarly, the data pattern (000000) of the conversion patterns corresponds to the code pattern “010 100 000”. The number of “1”s as an element of the data pattern is zero, and the number of “1”s as an element of the corresponding code pattern is two. A remainder when the number of “1”s as an element of the data pattern is divided by two and a remainder when the number of “1”s as an element of the code pattern is divided by two are both zero (an even number) and thus match each other.
A method of performing DSV control will next be described. DSV control when the DSV control is not performed in a modulation table as in the RLL(1, 7) code of Table 1 is performed by adding at least (d+1) bits at predetermined intervals to a channel bit string after modulation of a data string. On the other hand, in a conversion table such as Table 2, though the same DSV control as in the case of Table 1 can be performed, DSV control can be performed more efficiently by utilizing relations between the data patterns and the converted code patterns in Table 2. Specifically, when the conversion table has the conversion rule that a remainder when the number of “1”s within a data pattern is divided by two and a remainder when the number of “1”s within a code pattern is divided by two be both 1 or 0 and thus the same, insertion of a DSV control bit of “1” representing “inversion” or “0” representing “non-inversion” in a channel bit string as described above is equivalent to insertion of a DSV control bit of (1) for “inversion” or (0) for “non-inversion” in a data bit string.
When a DSV control bit is inserted at the rear of a sequence of three bits (001) to be subjected to data conversion in Table 2, for example, data is (001-x) (x is one bit of “0” or “1”). When “0” is assigned to x, the following conversion is performed in the conversion table of Table 2.
Data PatternCode Pattern0010010 000
When “1” is assigned to x, the following conversion is performed in the conversion table of Table 2.
Data PatternCode Pattern0011010 100
The codeword strings are subjected to NRZI modulation, and thereby the following level code strings are generated.
Data PatternCode PatternLevel Code String0010010 000011 1110011010 100011 000
The last three bits of these level code strings are in inverted relation to each other. This means that DSV control can be performed also in a data string by selecting (1) and (0) as the DSV control bit x.
Considering redundancy due to DSV control, performing DSV control with one bit in a data string is equivalent to performing DSV control with 1.5 channel bits when expressed in terms of a channel bit string on the basis of the conversion rate (m:n=2:3) of Table 2. On the other hand, to perform DSV control in an RLL(1, 7) table such as Table 1, DSV control needs to be performed in a channel bit string. At this time, at least two channel bits are required to keep the minimum run, and redundancy is increased as compared with the DSV control of Table 2. In other words, with the table structure of Table 2, DSV control is performed in a data string, and therefore DSV control can be performed efficiently.
Further, the present inventor et al. have proposed the following Table 3 as an inverse conversion table (demodulation table) for the 1,7PP code of Table 2 (for example, Japanese Patent Laid-Open No. Hei 11-346154).
TABLE 31,7PP_DEM: (d, k; m, n; r) = (1, 7; 2, 3; 4)Code PatternData Patterni = 110111000110011001001i = 2010 1000011010 000 (not 100)0010000 1000001i = 3000 100 100000011000 100 000 (not 100)000010010 100 100000001010 100 000 (not 100)000000i = 3:Prohibit Repeated Minimum Transition Runlength001 000 000 (not 100)110111i = 4:limits k to 7000 100 100 10000001000010 100 100 10000000000
A demodulation process is carried out by performing comparison to find a pattern matching an input codeword string in decreasing order of constraint length in the above inverse conversion table of Table 3 and then performing conversion, for example, whereby an original data string can be obtained. The inverse conversion table of Table 3 has one minimum run successive occurrence limiting pattern (inverse conversion pattern) as a substitution pattern at a constraint length i=3 to limit successive occurrences of the minimum run to six times. A synchronizing pattern is the same as shown in Table 2, and a demodulation process is carried out according to an inverse conversion table as in Table 3 with a detected position as a reference.
The modulation table of Table 2 ready for high recording densities which table has the minimum run and the maximum run (d, k)=(1, 7) as described above and the demodulation table of Table 3 corresponding to Table 2 are employed as a format of Blu-ray Disc Rewritable ver1.0 (registered trademark) as a high-density optical disk, for example.
For still higher recording densities in the future, or specifically, for example, for still higher density standards for high-density optical disks, a more stable modulation and demodulation system is desired.
When a demodulation system for implementing a more stable system with the configuration of a similar table to that of the conventional 1,7PP code is realized for the already commercialized Blu-ray Disc Rewritable ver1.0, conventional design technology can be used, and thus a design risk at the time of hardware design can be reduced.
Further, with a demodulation configuration including all of the conventional 1,7PP code, it is possible to demodulate data modulated by the conventional 1,7PP code and recorded.
However, when RLL codes are recorded and reproduced at a high linear density, a long error tends to occur at a pattern where the minimum run d occurs successively. In addition, to perform DSV control in (1, 7; 2, 3) codes, redundant bits need to be inserted, and the redundant bits need to be reduced as much as possible. Then, in an RLL code (d, k; m, n)=(1, 7; 2, 3) with a minimum run d=1 which code was developed in view of such a situation, a demodulation table and a demodulating device corresponding to a modulation table for generating a more stable code string than 1,7PP codes are desired, the 1,7PP codes having for example features of limiting the number of successive occurrences of the minimum run and enabling DSV control to be performed with efficient control bits while the minimum run and the maximum run are kept. Specifically, a demodulation system is desired which further reduces occurrences of errors caused by an edge shift.
Further, for reproduction compatibility with the conventional 1,7PP code and for facilitation of hardware commonality and hardware design, a table including the conventional 1,7PP table and having a similar table configuration to that of the conventional 1,7PP table is desired.